Inter-application control to improve the performance of playback of stored interactive-TV applications

ABSTRACT

A method and apparatus for improving the performance of the running of a stored interactive application on a de-coding apparatus is disclosed. The recorded program which is associated with the stored interactive application is run, wherein the program and interactive application are stored in a storage device. The running of the stored interactive application is controlled using a second application.

The invention relates to interactive television applications, and moreparticularly to a method and apparatus for improving the performance ofplayback of stored interactive television applications.

Interactive-TV applications, as defined in MHP, OpenTV, MHEG, etc., arebroadcast together with a program (an audio stream, a video stream, anaudio/video stream, etc.). When the viewer wishes to record such aprogram, the viewer might also want to store or record the interactiveapplication associated with the program. A viewer expects a program toappear the same when it is recorded as when the program comes in from alive broadcast. So if a program has an application tied to it, then thisapplication must also be available when the viewer wants to play backthe stored program. As a result, the interactive application must bestored as well.

For a viewer to be able to view and receive interactive television, theviewer must use a digital set-top box. Advanced versions of a set-topbox have storage capabilities, which allow the viewer to record theirfavorite programs. Besides the obvious benefit of being able to view aprogram at any desired time, a recorded program also has other benefitsover a live program. Trick play operations, for instance, is onlypossible when a program is at least partially recorded. So recording aprogram gives the user more control and adds more features to theprogram.

The same is also true when the interactive TV application associatedwith the recorded program is stored. When the program is recorded andthe application is stored, random access of the program and of theapplication become possible. This means that new yet unexplored featuresbecome viable as the application designer and the viewer are no longertied to the linear time based viewing of a broadcast.

When a program is recorded and the corresponding application is stored,it becomes possible to send the program and the interactive programacross a network to another set-top box or storage device. This allowsplayback of the program over a digital interface. Decoding content on aset-top box that does not know that the content is stored can causeproblems. Stored content can be accessed in a non-linear manner. If theset-top box does not support the non-linear manner, then the playback ofthe content will not be consistent. Also, in the case of playback acrossa digital interface, the set-top box may not support communication witha storage device. Thus, there is a need for a method and apparatus whichallows for non-linear playback of recorded programs and associatedinteractive applications even when the set-top box does not support suchoperations.

It is an object of the invention to overcome the above-describeddeficiencies by providing a method and apparatus for improving theperformance of playback of the stored interactive-TV applications.According to one embodiment of the invention, a second application isused to control and improve the performance of the stored interactive-TVapplication.

According to one embodiment of the invention, a method and apparatus forimproving the performance of running of a stored interactive applicationon a decoding apparatus is disclosed. The recorded program which isassociated with the stored interactive application is run, wherein theprogram and interactive application are stored in a storage device. Therunning of the stored interactive application is controlled using asecond application.

These and other aspects of the invention will be apparent from andelucidated with reference to the embodiments described hereafter.

The invention will now be described, by way of example, with referenceto the accompanying drawings, wherein:

FIG. 1 illustrates a block diagram of a audio-video apparatus suitableto host embodiments of the invention;

FIG. 2 illustrates a block diagram of a set-top box which can be used toimplement at least one embodiment of the invention;

FIG. 3 illustrates a storage device/set-top box arrangement according toone embodiment of the invention;

FIG. 4 is a flow chart illustrating the operation of the arrangementillustrated in FIG. 3 according to one embodiment of the invention;

FIG. 5 illustrates a storage device/set-top box arrangement according toanother embodiment of the invention;

FIG. 6 is a flow chart illustrating the operation of the arrangementillustrated in FIG. 5 according to one embodiment of the invention;

FIG. 7 illustrates a storage device/set-top box arrangement according toone embodiment of the invention; and

FIG. 8 is a flow chart illustrating the operation of the arrangementillustrated in FIG. 7 according to one embodiment of the invention.

FIG. 1 illustrates an audio-video apparatus 100 suitable to host theinvention. The apparatus comprises an input terminal 1 for receiving adigital video signal to be recorded on a disc 3. Further, the apparatuscomprises an output terminal 2 for supplying a digital video signalreproduced from the disc. These terminals may in use be connected via adigital interface to a digital television receiver and decoder in theform of a set-top box (STB) 12, which also receives broadcast signalsfrom satellite, cable or the like, in MPEG TS format. The set-top box 12provides display signals to a display device 14, which may be aconventional television set.

The video recording apparatus 100 as shown in FIG. 1 is composed of twomajor system parts, namely the disc subsystem 6 and the video recordersubsystem 8, controlling both recording and playback. The two subsystemshave a number of features, as will be readily understood, including thatthe disc subsystem can be addressed transparently in terms of logicaladdresses (LA) and can guarantee a maximum sustainable bit-rate forreading and/or writing data from/to the disc.

Suitable hardware arrangements for implementing such an apparatus areknown to one skilled in the art, with one example illustrated in patentapplication WO-A-00/00981. The apparatus generally comprises signalprocessing units, a read/write unit including a read/write headconfigured for reading from/writing to disc 3. Actuators position thehead in a radial direction across the disc 3, while a motor (not shown)rotates the disc 3. A microprocessor (not shown) is present forcontrolling all the circuits in a known manner.

Referring to FIG. 2, a block diagram of the set-top box 12 is shown. Itwill be understood by those skilled in the art that the invention is notlimited to a set top box but also extends to a variety of devices suchas a DVD player, PVR box, a box containing a Hard disk (recordermodule), etc. A broadcast signal 39 is received and fed into a tuner 31.The tuner 31 selects the channel on which the broadcastaudio-video-interactive signal is transmitted and passes the signal to aprocessing unit 32. The processing unit 32 demultiplexes the packetsfrom the broadcast signal if necessary and reconstructs the televisionprograms and/or interactive applications embodied in the signal. Theprograms and applications are then decompressed by a decompression unit33. The audio and video information associated with the televisionprograms embodied in the signal is then conveyed to a display unit 34,which may perform further processing and conversion of the informationinto a suitable television format, such as NTSC or HDTV audio/video.Applications reconstructed from the broadcast signal are routed torandom access memory (RAM) 37 and are executed by a control system 35.

The control system 35 may include a microprocessor, micro-controller,digital signal processor (DSP), or some other type of softwareinstruction processing device, and may receive user input information41. The RAM 37 may include memory units which are static (e.g. SRAM),dynamic (e.g. DRAM), volatile or non-volatile (e.g., FLASH), as requiredto support the functions of the set-top box. When power is applied tothe set-top box, the control system 35 executes operating system codewhich is stored in ROM 36. The operating system code executescontinuously while the set-top box is powered in the same manner as theoperating system code of a typical personal computer and enables theset-top box to act on control information and execute interactive andother applications. The set-top box also includes a modem 38. The modem38 provides both a return path by which viewer data can be transmittedto the broadcast station and an alternate path 40 by which the broadcaststation can transmit data to the set-top box.

Although the term “set-top box” is used herein, it will be understoodthat this term refers to any receiver or processing unit for receivingand processing a transmitted signal and conveying the processed signalto a television or other monitor. The set-top box may be in a housingwhich physically sits on top of a television, it may be in some otherlocation from the television, or it may be incorporated into thetelevision itself.

As mentioned above, users want to be able to access recorded programsand interactive applications in a non-linear manner. According to oneembodiment of the invention, a second application, e.g., a controlapplication, is used to improve the performance of the storedinteractive application during playback. Not all set-top boxes will havethe necessary capabilities to run some interactive applications. Thecontrol application provides the actual capabilities to run the storedinteractive applications.

The control application can be an interoperable plug-in application asdefined in MHP(multimedia home platform). The MHP specification extendsthe existing DVB standards for broadcast and interactive services in alltransmission networks including satellite, cable, terrestrial andmicrowave systems. The MHP specification provides a consistent set offeatures and functions required for the enhanced broadcasting andinteractive broadcasting profiles. MHP provides API's (applicationprogrammer interfaces) for allowing one application to control thelifecycle of another application. The API is located in theorg.dvb.application package. It provides methods for an application toquery a database of what other applications are signaled in the currentservice context. Through this database, an application can get theattributes of another application and can get a proxy (a proxy is anobject which acts as a representation of another object, it acts onbehalf of) to another application. Through this proxy, methods on theapplication which the proxy represents can be called. The methods thatcan be called are:

getstate( ) this returns the state that the application is in, this mayconsist of start, stop, paused or destroyed;

Start( ) starts the application (after pause);

Stop( ) stops the application;

Pause( ) Pauses the execution of the application.

For example, a control application, can call the Pause( ) method on theapplication proxy of the stored interactive application to makeapplication B pause its execution.

Another example of how a control application can be used is when thecontrol application is used to load another application across a digitalinterface. A set-top box may not be equipped with a correct filetransfer protocol to load the files for an application from a storagedevice to the set-top box, where the application is executed. Thisfunctionality can come from another application (the controlapplication) and loaded to the set-top box, for example through thebroadcast channel. Once the control application is loaded to the set-topbox it can setup a file transfer between the storage device and theset-top box for loading the files for other applications which may bestored on a removable disk or on a hard disk in the storage device.

By letting the control application take control over the storedapplication, the lifecycle and state issues that arise because theset-top box is not aware that the content is stored can be solved. As aresult, the control application and associated video can be accessed ina random manner. In several embodiments of the invention describedbelow, a control application is used to control the running of thestored interactive application In another embodiment of the invention, adisplay application is used to display the executed interactiveapplication. It will be understood by those skilled in the art thatvarious applications could be written to control the running of thestored interactive application and the invention is not limited to anyspecific application.

FIG. 3 illustrates a storage medium/set-top box arrangement 300according to one embodiment of the invention. A set-top box 302 isconnected to a storage device 304 via a digital interface 306. Thedigital interface is used to transfer the recorded program and a controlapplication 310 from the storage device 304 onto the set-top box 302.The set-top box 302 and the storage device 304 are also connectedtogether by an interactive channel or interface 308. The interactivechannel 308 is used to load the stored interactive application 312 ontothe set-top box 302, as will be explained below with reference to FIG.4.

FIG. 4 is a flow chart illustrating the operation of the arrangement300. First, the program is recorded and the interactive application 312is stored in the storage device 304 in step 402. Prior to sending therecorded program and the stored interactive application 312 to theset-top box 302, the control application, for example, an interoperableplug-in, is sent over the digital interface 306 and is loaded onto theset-top box 302 in step 404. The recorded program is then sent to theset-top box 302 over the digital interface in step 406. At the sametime, the control application begins loading and controlling the storedinteractive application across the interactive channel 308 forappropriate playback with the recorded program in step 408. All filesand control messages needed to support proper running of the storedinteractive application are sent to the control application over theinteractive channel 308.

FIG. 5 illustrates a storage medium/set-top box arrangement 500according to one embodiment of the invention. A set-top box 502 isconnected to a storage device 504 via a digital interface 506. Thedigital interface is used to transfer the recorded program and a displayapplication 510 from the storage device 504 onto the set-top box 502.The set-top box 502 and the storage device 504 are also connectedtogether by an interactive channel or interface 508. The interactivechannel 508 is used to load the executed interactive application 512onto the set-top box 502, as will be explained below with reference toFIG. 6.

FIG. 6 is a flow chart illustrating the operation of the arrangement500. First, the program is recorded and the interactive application 512is stored in the storage device 504 in step 602. Prior to sending therecorded program and the stored interactive application 512 to theset-top box 502, the display application 510, for example, aninteroperable plug-in, is sent over the digital interface 506 and isloaded onto the set-top box 502 in step 604. The recorded program isthen sent to the set-top box 502 over the digital interface in step 606.At the same time, a control device in the storage device executes thestored interactive application in step 608, and transfers the output ofthe executed interactive application over the interactive channel 508 tothe set-top box 502 under the control of the display application 510 instep 610. The display application then displays the output appropriatelywith the recorded program in step 612.

FIG. 7 illustrates a storage medium/set-top box arrangement 700according to one embodiment of the invention. A set-top box 702 isconnected to a storage device 704 via a digital interface 706. Thedigital interface is used to transfer the recorded program, the storedinteractive application 712 and a control application 710 from thestorage device 704 onto the set-top box 702.

FIG. 8 is a flow chart illustrating the operation of the arrangement700. First, the program is recorded and the interactive application 712is stored in the storage device 704 in step 802. Prior to sending therecorded program and the stored interactive application 712 to theset-top box 702, the control application 710, for example, aninteroperable plug-in, is sent over the digital interface 706 and isloaded onto the set-top box 702 in step 804. The recorded program andthe stored interactive application are then sent to the set-top box 702over the digital interface 706 in step 806. The running of the storedinteractive application 712 is then controlled by the controlapplication 710 in step 808 so as to be consistent with the running ofthe recorded program.

It will be understood that the different embodiments of the inventionare not limited to the exact order of the above-described steps as thetiming of some steps can be interchanged without affecting the overalloperation of the invention. Furthermore, the term “comprising” does notexclude other elements or steps, the terms “a” and “an” do not exclude aplurality and a single processor or other unit may fulfill the functionsof several of the units or circuits recited in the claims.

1. A method for improving the performance of playback of a storedinteractive application on a decoding apparatus (302, 502, 702),comprising the steps of: Playback a recorded stream of audio-visual datawhich is associated with the stored interactive application, wherein theprogram and interactive application are stored in a storage device; andcontrolling running of the stored interactive application using a secondapplication.
 2. The method according to claim 1, wherein the secondapplication is a control application.
 3. The method according to claim2, wherein the second application is stored in the storage device. 4.The method according to claim 3, further comprising the step of: priorto beginning running of the stored interactive application, transferringthe second application to the decoding apparatus.
 5. The methodaccording to claim 4, further comprising the step of: transferring allfiles and control messages needed to support the running of theinteractive application from the storage device to the decodingapparatus.
 6. The method according to claim 2, wherein the secondapplication is an interoperable plug-in application.
 7. The methodaccording to claim 2, wherein the second application is stored in thedecoding apparatus.
 8. The method according to claim 1, wherein thesecond application is a display application.
 9. The method according toclaim 8, wherein the display application is stored in the decodingapparatus.
 10. The method according to claim 9, further comprising thesteps of: executing the stored interactive application in the storagedevice; and transferring the output of the executed interactiveapplication to the display application for display.
 11. An apparatus forimproving the performance of playback of a stored interactiveapplication, comprising: a storage device (304, 504, 704) for storing arecorded program and the interactive application, wherein theinteractive application is association with the recorded program; adecoding apparatus (302, 502, 702) for running the recorded program andthe interactive application; a first interface (306, 506, 706) betweenthe storage device and the decoding apparatus for transferring therecorded program and the interactive application from the storage deviceto the decoding apparatus; and a second application (310, 510, 710) forcontrolling the operation of running of the stored interactiveapplication.
 12. The apparatus according to claim 11, wherein the secondapplication is a control application.
 13. The apparatus according toclaim 12, wherein the second application is stored in the storage deviceand is loaded onto the decoding apparatus before running of theinteractive application begins.
 14. The apparatus according to claim 13,further comprising: a second interface (308, 508) for providing theinteractive application and control messages to the second applicationwhich are needed to support the playback of the interactive application.15. The apparatus according to claim 12, wherein the second applicationis an interoperable plug-in application.
 16. The apparatus according toclaim 12, wherein the second application is stored in the decodingapparatus.
 17. The apparatus according to claim 11, wherein the secondapplication is a display application.
 18. The apparatus according toclaim 17, wherein the display application is stored in the decodingapparatus.
 19. The apparatus according to claim 18, further comprising:means (504) for executing the stored interactive application in thestorage device; and a second interface (508) for transferring the outputof the executed interactive application to the display application fordisplay.